package com.starryx.blog.po;

import org.hibernate.validator.constraints.NotBlank;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;


public class Type implements Comparable<Type> {


    private  Long id;       // 编号
    @NotBlank(message = "分类名称不能为空")     // 非空校验，后面是校验的消息，第一种后端校验
    private String name;    // 名称

    /* 实体间的关系 */

    private List<Blog> blogs = new ArrayList<>();       // 可以初始化一下

    public Type() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Blog> getBlogs() {
        return blogs;
    }

    public void setBlogs(List<Blog> blogs) {
        this.blogs = blogs;
    }

    @Override
    public String toString() {
        return "Type{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }

    @Override
    public int compareTo(Type o) {
        return this.getBlogs().size() - o.getBlogs().size();            // 根据博客数量降序排序
    }
}
